.\"	$OpenBSD: hifn.4,v 1.48 2014/08/20 11:23:41 mikeb Exp $
.\"
.\" Copyright (c) 2000 Theo de Raadt
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd $Mdocdate: August 20 2014 $
.Dt HIFN 4
.Os
.Sh NAME
.Nm hifn
.Nd Hifn 7751/7811/7951/7955/7956/9751 crypto accelerator
.Sh SYNOPSIS
.Cd "hifn* at pci?"
.Sh DESCRIPTION
The
.Nm
driver supports various cards containing the Hifn 7751, Hifn 7811, Hifn 7951,
Hifn 7955, Hifn 7956, or Hifn 9751 chipsets, such as
.Bl -tag -width namenamenamena -offset indent
.It Invertex AEON
Comes as 128KB SRAM model, or 2MB DRAM model.
.It Hifn 7751
Reference board with 512KB SRAM.
.It PowerCrypt
Comes with 512KB SRAM.
.It PowerCrypt 5x
Contains a 7956 and supports symmetric encryption (including AES),
random number, and modular exponentiation operations.
.It XL-Crypt
Only board based on 7811 (which is faster than 7751 and has
a random number generator).
.It NetSec 7751
7751 board with 1MB of SRAM.
.It Soekris Engineering vpn1201 and vpn1211
Contains a 7951 and supports symmetric encryption and random number operations.
.It Soekris Engineering vpn1401 and vpn1411
Contains a 7955 and supports symmetric encryption (including AES),
random number, and modular exponentiation operations.
.It Hifn 9751
Reference board with 512KB SRAM.
This is really a Hifn 7751 which only supports compression.
.El
.Pp
The
.Tn Hifn 7751 ,
.Tn Hifn 7811 ,
.Tn Hifn 7951 ,
.Tn Hifn 7955 ,
and
.Tn Hifn 7956
chips all support acceleration of DES, Triple-DES, ARC4, MD5,
MD5-HMAC, SHA1, SHA1-HMAC, and LZS operations for
.Xr ipsec 4 .
The
.Tn Hifn 7955
and
.Tn Hifn 7956
chips additionally support AES-CBC.
The
.Tn Hifn 9751
only supports LZS.
.Pp
The
.Tn Hifn 7811 ,
.Tn Hifn 7951 ,
.Tn Hifn 7955 ,
and
.Tn Hifn 7956
will also supply data to the kernel
.Xr random 4
subsystem.
.Sh SEE ALSO
.Xr crypt 3 ,
.Xr intro 4 ,
.Xr ipsec 4 ,
.Xr pci 4 ,
.Xr random 4 ,
.Xr crypto 9
.Sh HISTORY
The
.Nm
device driver appeared in
.Ox 2.7 .
.Sh BUGS
The 7751 chip starts out at initialization by only supporting compression.
A proprietary algorithm, which has been reverse engineered, is required to
unlock the cryptographic functionality of the chip.
It is possible for vendors to make boards which have a lock ID not known
to the driver, but all vendors currently just use the obvious ID which is
13 bytes of 0.
.Pp
The 7951, 7955 and 7956 have support for public key operations
which are not yet supported.
